a7b595aef65c84593712197164be7bffde47f7a7,plugins/org.eclipse.xtext.common.types/src/org/eclipse/xtext/common/types/access/impl/DeclaredTypeFactory.java,DeclaredTypeFactory,createAnnotationValue,#Object#Class#,223

Before Change


			result.eSet(result.eClass().getEStructuralFeature("values"), Collections.singleton(reference));
		} else if (type.isAnnotation()) {
			Annotation nestedAnnotation = (Annotation) value;
			((JvmAnnotationAnnotationValue) result).getValues().add(createAnnotationReference(nestedAnnotation));
		} else if (type.isEnum()) {
			Enum<?> e = (Enum<?>) value;
			JvmEnumerationLiteral proxy = createEnumLiteralProxy(e);

After Change


	protected JvmAnnotationValue createAnnotationValue(Object value, Class<?> type) {
		EStructuralFeature.Setting result = createAnnotationValue(type);
		@SuppressWarnings("unchecked")
		InternalEList<Object> values = (InternalEList<Object>)result;
		if (type.isPrimitive() || String.class == type) {
			values.addUnique(value);
		} else if (type == Class.class) {
			Class<?> referencedClass = (Class<?>) value;
			JvmTypeReference reference = createTypeReference(referencedClass);
			values.addUnique(reference);
		} else if (type.isAnnotation()) {
			Annotation nestedAnnotation = (Annotation) value;
			values.addUnique(createAnnotationReference(nestedAnnotation));
		} else if (type.isEnum()) {
			Enum<?> e = (Enum<?>) value;
			JvmEnumerationLiteral proxy = createEnumLiteralProxy(e);